#pragma once
#include <Hazel.h>

class Sandbox2D :
    public Hazel::Layer
{
public:
	Sandbox2D();
	virtual ~Sandbox2D() = default;
	virtual void OnAttach();
	virtual void OnDetach();

	void OnUpdate(Hazel::Timestep ts) override;
	virtual void OnImGuiRender() override;
	void OnEvent(Hazel::Event& e) override;

private:
	Hazel::Ref<Hazel::Shader> m_FlatColorShader;
	Hazel::Ref<Hazel::VertexArray> m_SquareVA;

	Hazel::Ref<Hazel::Texture2D> m_CheckerboardTexture;

	Hazel::Ref<Hazel::FrameBuffer> m_FrameBuffer;

	glm::vec4 m_SquareColor = { 0.2f, 0.3f, 0.8f ,1.0f};

	Hazel::OrthographicCameraController m_CameraController;


};

